
/**
 * 删除vnodes数组中从startIdx指定的位置到endIdx指定位置的内容
 * @param {*} vnodes  虚拟节点数组
 * @param {*} startIdx  开始的指定位置
 * @param {*} endIdx  结束的指定位置
 */
function removeNodes(vnodes, startIdx, endIdx) {
  for (; startIdx <= endIdx; ++startIdx) {
    const ch = vnodes[startIdx]
    if (isDef(ch)) {
      removeNode(ch.elm)
    }
  }
}

// removeNode用来删除视图中的单个节点，removeNodes用于删除一组指定的节点
let nodeDeps = {
  removeChild(node, child) {
    node.removeChild(child)
  }
}


function removeNode(el) {
  const parent = nodeDeps.parentNode(el)
  if (isDef(parent)) {
    nodeDeps.removeChild(parent, el)
  }
}